package com.samuel.learning.design.pattern.builder;

/**
 * @Author taozhaoyang
 * @Description builder 模式 ，提高代码可读性
 * @Date 16:47 2018/7/27
 * @Param
 * @return
 **/
public class Demo {


    public static void main(String[] args) {

        //一般的套路：优点是比较简单，开发效率高，
        // 缺点是如果参数真的很多的话鬼知道每个对应的是什么意思啊。
        Goods goods = new Goods(1, 2.0);

        System.out.println(goods.toString());
        //Builder模式：
        // 优点是可以将构造器的setter方法名取成类似注释的方式，这样我们可以很清晰的知道刚才究竟设置的什么值，可读性较高，
        // 缺点是比较冗长。
        Goods2 goods2 = new Goods2.Builder().id(1).price(2.0).build();
        System.out.println(goods2.toString());
    }

}
